Abrir librerÃas
library(dplyr)
library(DT)
library(leaflet)
library(plotly)
library(raster)
library(sf)
library(spData)
library(tidyr)
Datos
orchidaceae <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/gbif/orchidaceae-cr-registros.csv",
options = c(
"X_POSSIBLE_NAMES=decimalLongitude",
"Y_POSSIBLE_NAMES=decimalLatitude"
),
quiet = TRUE
)
asp <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/sinac/asp/asp-wgs84.geojson",
quiet = TRUE
)
st_crs(asp) = 4326
st_crs(orchidaceae) = 4326
orchidaceae$species[orchidaceae$species == ""] <- "orchidaceae"
Desarrollo
Eliminar los registros con un valor mayor que 1000 y eliminar los registros con valor vacio o NA en el campo species
orchidaceae <- orchidaceae %>%
filter(!is.na(coordinateUncertaintyInMeters) & coordinateUncertaintyInMeters <= 1000)%>%
filter(species!="orchidaceae")
asp <- asp %>%
filter(descripcio!="Area Marina de Manejo" & descripcio!="Area marina protegida")
asp_registro <-
asp %>%
st_join(orchidaceae) %>%
group_by(nombre_asp) %>%
summarize(especies = n_distinct(species,na.rm = TRUE))
st_crs(asp_registro) = 4326
color_registro <-
colorNumeric(palette = "Reds",
domain = asp_registro$especies,
na.color = "transparent")
color_especies <-
colorNumeric(palette = "Reds",
domain = asp_registro$especies,
na.color = "transparent")
Mapa Leaflet
leaflet() %>%
addTiles(group = "OSM") %>%
addPolygons(
data = asp_registro,
fillColor = ~ color_especies (asp_registro$especies),
fillOpacity = 0.8,
stroke = TRUE,
color = "grey",
weight = 1,
popup = paste(
paste(
"<strong>Localidad:</strong>",
asp_registro$nombre_asp
),
paste(
"<strong>Cantidad de orquideas:</strong>",
asp_registro$especies
),
sep = '<br/>'
),
group = "Localidad - especies"
) %>%
addLayersControl(baseGroups = c("OSM"),
overlayGroups = c("Localidad - especies")) %>%
addLegend(
position = "bottomright",
pal = color_especies,
values = asp_registro$especies,
group = "Localidad - especies",
title = "Cantidad orquideas")